package top.lunarye.handler.deduplication.limit;

import top.lunarye.common.domaim.TaskInfo;
import top.lunarye.handler.deduplication.DeduplicationParam;
import top.lunarye.handler.deduplication.service.AbstractDeduplicationService;

import java.util.Set;

/**
 * @author lunar
 * @since 2022-07-20
 */
public interface LimitService {

    /**
     * 去重限制
     * @param service 去重器对象
     * @param taskInfo 任务信息
     * @param param 去重参数
     * @return 返回被去重的接收者信息
     */
    Set<String> limitFilter(AbstractDeduplicationService service, TaskInfo taskInfo, DeduplicationParam param);

}
